微软 winget 被指抄袭!开源项目 AppGet 被迫关闭
(给程序员的那些事加星标)
原创:程序员的那些事(id:iProgrammer)
微软发布Windows 包管理器 Winget
5 月 20 日,微软在 Build 2020 大会上发布了 Windows 软件包管理器 winget。并且也在 GitHub 开源了,目前已有 5700+ Star。
软件包管理器的确非常方便,在 Linux 或 Mac 系统用过同类工具的童鞋都会有体会,如果遇到依赖比较多的软件,只需要一条安装命令,就可轻松完成安装。(如果你还没用过,可以尝试。)经常泡 GitHub 的童鞋,应该也注意到了,很多工具的 readme 页面中都是推荐命令行安装。
长期以来有很多呼声,希望 Windows 平台也有软件包管理器。所以微软 winget 的发布,的确让人振奋。
开发者控诉微软 winget 抄了同类开源工具 AppGet
不过微软 winget 也引发争议了。
5 月 25 日,AppGet 的开发者发了一篇长文,控诉微软抄了 AppGet 的核心机制。
AppGet 是什么?
AppGet 是一个开源的 Windows 软件包管理器,它可以在 Windows PC上自动安装软件,属于 Windows 生态中的一环(软件分发)。能通过 AppGet 安装的软件包,已超过 1400 多个。
(截图来自 AppGet 官网)
Keivan Beigi 是一位住在加拿大温哥华的开发者,AppGet 是他的业余项目。
微软 winget 是如何抄 AppGet 的?
根据 Keivan 的文章,2019 年 AppGet 吸引了微软的注意,微软 Windows App Model 项目经理 Andrew Clinick 联系到 Keivan Beigi。
2019 年 7 月 3 日,Keivan 收到了 Andrew 发来的第一封邮件。邮件中先是对 AppGet 在 Windows 生态中的作用表示了肯定,最后还提出约了在温哥华线下碰面。
AppGet 是 Keivan 的业余项目,能受到微软的关注和重视,自然非常高兴。
8 月 20 日,Keivan 和 Andrew,还有另外一位同一个产品组的微软工程师。他们聊了:
AppGet 背后的想法;
当前 Windows 中的包管理器系统的不足之处;
AppGet 的未来规划。
8 月 28 日,Keivan 收到了 Andrew 发来的第二封邮件:
Andrew 在邮件透露出,想组建一个团队来负责并推动 Windows 平台的软件包管理器。并试探问 Keivan 是否有可能来微软在 AppGet 上投入更多的时间。
起初,Keivan 有点犹豫,他不想去微软做 Windows Store、MSI 引擎或其他一些与App部署相关的东西。不久之后,有人向他保证,让他把时间都用在AppGet 上。
「经过大约一个月的长时间的邮件来回沟通,我们得出了一个结论,那就是我们的安排将非常类似于收购,微软会雇佣我,AppGet 会和我一起去,然后他们会决定是否要改名为其他的东西,或者改成微软 AppGet。」
但 Keivan 对他在微软的角色是什么并不清楚。「我的职责是什么?我将向谁汇报?谁会向我汇报?在这些缓慢的沟通对话中,我试图厘清其中的一些答案,但始终没有得到明确的答案。」
12 月 5 日,Keivan 飞往西雅图,在微软总部进行了一整天的面试/会议。和 Andrew 会议结束后,他飞回温哥华。
然后,他在半年内没有听到任何进展消息。直到他收到了 Andrew 发来的邮件(如下),告知 winget 即将在第二天发布。
Andrew 在邮件末尾还提醒 Keivan 在 winget 第二天发布之前要保密,因为只提前告诉了他和 chocolatey。
(特别说明:chocolatey 是指另外一个 Windows 软件包管理器。)
市值 1.4 万亿美元的微软早就该做 winget
也许有网友可能要说了,「Keivan 不就是没有被微软雇佣生气了么?」
Keivan 他在控诉文章中是这样说的:
他们没有录用我,我有不高兴吗?没有的,在去了微软西雅图总部之后,我并不太确定自己是否愿意在这么大的公司工作,而且从加拿大搬到美国,我也没有太过兴奋。而且,在整个沟通过程中,我都不认为已经一锤定音。
微软,一家市值 1.4 万亿美元的公司,终于发布了一个像样的软件包管理器,我有不高兴吗?没有的,他们早在几年前就该这么做了。他们不应该把 Windows Store 搞得那么糟糕。
实际上,无论我如何努力推广 AppGet,它永远不会以微软产品的速度而增长。我做 AppGet 不是为了发财,也不是为了成名或被微软雇佣。我创建 AppGet 是因为:我认为 Windows 用户也应该得到一个像样的应用管理体验。
决定关闭 AppGet
Keivan 声称,微软 winget 的核心机制、术语、manifest 格式和结构,甚至是包存储库的文件夹结构都深受 AppGet 的启发。而微软只是在公告中简短地提到了一次 AppGet 的名字。
Keivan 在 Reddit 回复补充称,
代码被复制不是问题。我很清楚地知道发布一些开源的东西意味着什么,我一点也不后悔。被毫无信誉抄袭走的是这个项目的基础,是它的实际运作方式。如果我是申请专利的人,那么这就是要申请专利的东西。但我不后悔没有申请任何专利。
软件包管理器的一般概念,已被 Homebrew、Chocolaty、Scoop 等开源项目实现过,但它们的实现方式都不各不相同。然而,WinGet 和 AppGet 的工作原理基本相同。我在两年前就写过一篇文章介绍 AppGet 的工作原理。
他们抄了,我甚至都不沮丧。对我来说,这是对我想法正确性的验证。让我不高兴的是,他们没有给予我任何荣誉(credit)。
Keivan 认为,既然微软已经搞了 winget,与之竞争将毫无意义,何况分割生态系统对谁的没好处。
他已决定不再开发 AppGet 了,客户端和服务端立即转入维护模式。8 月 1 日后永久关闭。
微软目前的回应
关于 winget 被指抄袭 AppGet 事件,目前网上暂时只有控诉方 Keivan 的说法。
5 月 28 日,外媒 The Verge 在报道此事后联系微软发言人对此置评,对方回复:「我们对这位候选人的遭遇感到遗憾,我们正在内部审查相关情况。」
如果微软后续对此事有回应,我们会跟进补充。
参考:
https://medium.com/@keivan/the-day-appget-died-e9a5c96c8b22
https://www.theverge.com/2020/5/28/21272964/microsoft-winget-windows-package-manager-appget-copied
https://www.reddit.com/r/programming/comments/gqx6ta/the_day_appget_died/frzz4e4/
剽窃开源项目赚钱,连原开发者名字都没删干净,反而有勇气质疑正主……
无语!35 岁华人程序员涉嫌诈骗 150 万美元抗疫贷款;京东开源项目被指抄袭,原开发者的特有变量名都拿走了
关注「程序员的那些事」加星标,不错过圈内事
圈内事,我在看❤️